1. Field of the Invention
The present invention relates to a designing method and an apparatus of a data driven information processor. Particularly, the present invention relates to a method and an apparatus of efficiently designing a data driven information processor of custom LSI (Large-Scale Integrated circuit) that is optimized for various applications.
2. Description of the Background Art
A von Neumann information processor is well known. The von Neumann information processor has a program of a series of instructions prestored in a program memory. By sequentially addressing the program memory through a program counter, the addressed instruction is read and executed.
An information processor of architecture differing from that of the von Neumann information processor is generally called a xe2x80x9cnon-von Neumannxe2x80x9d information processor. The non-von Neumann information processor includes a data driven information processor (Data Driven Media Processor: DDMP).
The DDMP employs architecture based on parallel processing of instructions. The DDMP is not associated with the concept of a program counter. As soon as the data that are the subject of operation are available in the form of a packet in the DDMP, the instruction of relevant data processing can be executed. Since a plurality of instructions are driven at the same time in accordance with the flow of data, programs are executed in parallel according to the natural data flow in the DDMP. Accordingly, the time required for operation can be reduced significantly compared to that of the von Neumann information processor.
The DDMP transfers a packet by a self-timed pipeline control scheme. The self-timed pipeline scheme differs from the clocked pipeline control scheme.
For clocked pipeline control, cascaded latch circuits are prepared. These latch circuits are driven by a clock signal to shift a data packet between the latch circuits. The packet is processed by a logic circuit arranged between the latch circuits.
Referring to FIG. 1, a DDMP 240 employing the self-timed pipeline control scheme includes cascaded data latches 242, 246 and 250, logic circuits 244 and 248 arranged between these data latches 242, 246 and 250, and local handshake type data transfer control circuits (referred to as xe2x80x9cC elementxe2x80x9d hereinafter) 260, 262 and 264 cascade-connected to each other to effect data handshaking transfer between the data latches by transmitting/receiving a transmission signal SEND and a response signal ACK with respect to each other to apply a data latch timing signal to data latches 242, 246, 250, and the like.
Thus, a data transfer circuit configuration formed of data latch circuits and C elements is provided in succession in DDMP 240 employing the self-timed pipeline control scheme. Data is transferred sequentially through a plurality of data latches and is subjected to a relevant process by an appropriate logic circuit arranged therebetween.
Reflecting the recent development in semiconductor equipment and digital signal processing technology, the market of equipment employing digital signal processing systems has seen rapid increase and change. Accordingly, the application field of DDMPs is also expanding.
The field of image processing and video signal processing that involves a great amount of operation processing occupies a relatively large portion in the DDMP application field. Particularly in the field of image processing that deals with television signals corresponding to a motion picture as well as still picture signals, there are many processes specific to each technical field. Many of these processes can be realized using a general purpose DDMP. In such a case, a function or the like that is not used in that particular technical field may be included in the DDMP. This induces the problem that the chip of the LSI is unnecessarily increased in size. Furthermore, the usage of a general purpose DDMP impedes increase of the processing speed and reduction of power consumption. Such various technical problems are encountered.
In view of the above-described problems, there is the growing demand for an LSI chip realizing a DDMP of a particular specification from users. The need arises for manufacturers to establish the technology of designing various types of custom LSIs optimized to each of such special specifications.
To this end, an LSI with a DDMP was generally designed using a bottom up design procedure or a top down design procedure.
The design flow in designing an LSI using the bottom up design procedure will be schematically described with reference to FIG. 2. In the bottom up design procedure, first an LSI specification is provided (280). The LSI specification specifies the operation performance indicated by the processing amount per unit time required for the LSI, the total memory capacitance, architecture, and the like.
The function/logic designing is carried out based on this LSI specification (282). Specifically, the structure of the megaengine, macroprocessor, router, nanoprocessor, functional block and the like as well as the format of the packets circulating therethrough are determined.
Then, gate level designing is carried out based on the obtained logic design result (284). In gate level designing, the logic design result is replaced manually with a gate level circuit that is required in the LSI design. Here, the gate level circuit refers to logic circuits such as an inversion logic element (inverter: INV), logical product element (AND), logical sum element (OR) and the like.
The obtained gate level design is verified through logic/timing simulation (286). The layout is designed using the verified net-list (288).
The design flow of designing an LSI using the top down design procedure will be described with reference to FIG. 3. Similar to the bottom up design procedure, an LSI specification is first provided (300). The function/logic design is implemented based on the applied LSI specification (302).
The function of this level is described manually at the register transfer level (RTL) using a function description language for use with LSI designing (Verilog-HDL (Hardware Description Language), VHDL (VHSIC Hardware Description Language) and the like) (310). Then, an RTL simulation is run to verify the function at this level (312). The function description verified by the RTL simulation is net-listed using a logic synthesis tool (314).
A logic/timing simulation is run with respect to the obtained net-list (316). The layout is designed using the verified net-list (318).
In the bottom up design procedure, manual work is required at the stage of gate level designing. In the top down design procedure, manual work is required at the RTL description stage. In either case, manual work is required every time in designing. The required labor of the manual work was not so noticeable when the number of gates included in the LSI was relatively small. However, the manpower and time required for designing has increased significantly lately since as many as several hundred thousand to several million gates are accommodated in one LSI. Accordingly, the designing cost will increase. Furthermore, as the specification is diversified, designing corresponding to each type must be implemented. It was therefore difficult to effectively utilize the currently available design resource.
In either case of using the conventional bottom up designing procedure or top down designing procedure, extensive resource must be invested in the development of a processor LSI using a self-timed data driven processor (custom DDMP LSI) that is optimized (customized) for each of the manifold applications. In other words, there are the disadvantages such as more manpower required for designing and a longer designing period. Accordingly, the designing cost will become higher. Since it is difficult to effectively utilize the currently-available design resource, the designing cost cannot be easily reduced.
There is also the problem that the number of elements to be determined according to the DDMP scheme is great in comparison to that of clocked pipeline control. For example, in clocked pipeline control, the packet requires a data region and an address region. In the DDMP scheme, a data region, a generation number region for tag information, the region for destination node numbers and instruction codes, and the like must be provided. Furthermore, the size of each of these regions must be determined.
In contrast to the case where the operation can be controlled in a one-to-one correspondence by a clock signal in clocked pipeline control, a C element that controls data latching and transfer based on the transmission and reception of transmission signal SEND and response signal ACK mentioned above is employed in the DDMP scheme. This means that the transfer rate of the C element must be additionally defined.
In other words, the number of elements that must be determined in designing is extremely great when the DDMP scheme is used. For this reason and the necessity of accommodating each different specification, designing by the DDMP scheme is more difficult than designing of apparatuses of other schemes.
In view of the foregoing, an object of the present invention is to provide a method and an apparatus of designing a data driven information processor that allows effective usage of designing resource available from the past, whereby various types of custom DDMP LSIs can be designed at a relatively low designing cost.
Another object of the present invention is to provide a method and an apparatus of designing a data driven information processor that allows effective usage of designing resource available from the past and that can easily determine elements that are to be made, whereby various types of custom DDMP LSIs can be designed at a relatively low designing cost.
According to an aspect of the present invention, a designing method of a data driven information processor employing self-timed pipeline control through use of a computer includes the steps of preparing a computer-readable library file in which is written a designing parameter written in a generalized format, related to a functional block and processor of the data driven information processor that is the subject of designing, setting a parameter value for each designing parameter according to a design specification, and executing on the computer a tool that rewrites each description of the parameters in the library file using the set parameter value to produce a design description of a register transfer level.
According to another aspect of the present invention, a designing method of a data driven information processor employing self-timed pipeline control through use of a computer includes the steps of preparing a computer-readable library file formed of a register transfer level design description including a designing parameter written in a general format and using a predetermined language, related to a functional block and processor of the data driven information processor that is the subject of designing, preparing a computer-readable parameter file in which is written an instruction setting a specific parameter value for each of the designing parameters in a predetermined language according to a design specification, producing a register transfer level design description having a specific parameter value set by executing a program that reads in the library file and the parameter file and rewrites the library file so as to include contents of the parameter file, prior to writing a parameter in the library file, and implementing circuit designing using the register transfer level design description having specific parameter values set.
According to a further aspect of the present invention, a designing apparatus of a data driven information processor employing self-timed pipeline control through use of a computer includes a storage device storing a computer-readable library file in which is generally written a designing parameter related to a functional block and processor of the data driven information processor that is the subject of designing, an input device setting a parameter value for each designing parameter according to a design specification, and an execution device executing a tool that rewrites each description of the parameter in the library file using a set parameter value to produce a register transfer level design description.
According to still another aspect of the present invention, an apparatus of designing a data driven information processor employing self-timed pipeline control through use of a computer includes a first storage device storing a computer-readable library file formed of a register transfer level design description including a designing parameter written in a general format and using a predetermined language, related to a functional block and processor of the data driven information processor that is the subject of designing, a second storage device storing a computer-readable parameter file in which is written in a predetermined language an instruction setting a specific parameter value for each design parameter according to a design specification, a third storage device storing a program that reads in the library file and parameter file and rewrites the library file so as to include contents of the parameter file prior to writing the parameter in the library file, and a circuit design processing device that implements circuit designing using the register transfer level design description having a specific parameter value set.